﻿using Nemerle.Collections;
using Nemerle.Text;
using Nemerle.Utility;

using System;
using System.Collections.Generic;
using System.Linq;

namespace Nemerle2.Compiler
{
  /// <summary>
  /// Description of CustomAttribute.
  /// </summary>
  [Record]
  public class CustomAttribute : ICustomAttribute
  {
    public Project : NProject;

    #region Nemerle2.Compiler.ICustomAttribute  Members

    public Name : string { get; private set; }
    public FullName : string  { get; private set; }

    public ArgumentValue[argIndex : int] : CustomAttributeValue
    {
    	get
    	{
    		_ = argIndex;
    		throw System.NotImplementedException()
    	}
    }

    public HasNamedArgument(argName : string) : bool
    {
    	_ = argName;
    	throw System.NotImplementedException()
    }

    public NamedArguments : list[string * CustomAttributeValue]
    {
    	get
    	{
    		throw System.NotImplementedException()
    	}
    }

    public NamedArgumentValue[argName : string] : CustomAttributeValue
    {
    	get
    	{
    		_ = argName;
    		throw System.NotImplementedException()
    	}
    }

    public PositionalArgumentCount : int
    {
    	get
    	{
    		throw System.NotImplementedException()
    	}
    }

    public PositionalArguments : list[CustomAttributeValue]
    {
    	get
    	{
    		throw System.NotImplementedException()
    	}
    }

    public Type : ITypeInfo
    {
    	get
    	{
    		throw System.NotImplementedException()
    	}
    }

    #endregion
  }
}
